Present invention embodiments relate to refreshing software components, and more specifically, to refreshing a software component without interruption to the running of the software component.
It is important to be able to use software components, including software components in the form of services, applications, as well as operating systems, without interruption. However, with ever more complex software this is increasingly challenging.
In order to run software components in a problem-free fashion, the software components require refreshing. Refreshing software components may be needed in order to, for example, upgrade or adjust the software component, fix problems, free up resources, or alter its configuration. These refreshes may be disruptive since the software component may be unavailable or paused while the refreshes are carried out. Any such refresh is especially important in a cloud environment where systems need to be available and run without interruption, but the same can apply to an operating system running, for example, on a laptop.
Approaches to refresh during idle time exist; however, they are still based on locking resources, requiring multiple machines or processor units, and once started will lead to unavailability of resources.